const state={
	classDetailDialog: false,
	classInfo:null,
	classDetailDialogTrial: false,
	classInfoTrial:null,
};
const getters={
	
	isShow(state) {  //方法名随意,主要是来承载变化的classDetailDialog的值
       return state.classDetailDialog
   },
   getClassInfo(state){
   	  return state.classInfo;
   },
   isShowTrial(state) {  //方法名随意,主要是来承载变化的classDetailDialog的值
	return state.classDetailDialogTrial
	},
	getClassInfoTrial(state){
		return state.classInfoTrial;
	}
	
};

const mutations = {
	show(state) {   //自定义改变state初始值的方法，这里面的参数除了state之外还可以再传额外的参数(变量或对象);
        state.classDetailDialog = true;
    },
    hide(state) {  //同上
        state.classDetailDialog = false;
    },
    setClassInfo(state,data){
    	state.classInfo=data;
	},
	showTrial(state) {   //自定义改变state初始值的方法，这里面的参数除了state之外还可以再传额外的参数(变量或对象);
        state.classDetailDialogTrial = true;
    },
    hideTrial(state) {  //同上
        state.classDetailDialogTrial = false;
    },
    setClassInfoTrial(state,data){
    	state.classInfoTrial=data;
    }
};

const actions = {
	hideclassDetailPanel(context) {  //自定义触发mutations里函数的方法，context与store 实例具有相同方法和属性
        context.commit('hide');
    },
    showclassDetailPanel(context) {  //同上注释
    	
        context.commit('show');
    },
    getClassInfo(context,paras){
    	let classinfo=null;
    	// console.log(paras)
    	api.getClassById(paras).then(function(data){   
    		
    		classinfo=data.class;
    		
    		return api.getClassStudentList(paras);
    		
    	}).then(function(data){
    		
    		classinfo.studentlist=data.studentList;
    		for(let i=0;i<classinfo.studentlist.length;i++){
    			classinfo.studentlist[i].age=tool.minusDate(classinfo.studentlist[i].birthday);
    		}
    		// console.log(classinfo)
    		context.commit('setClassInfo',classinfo);
    		context.commit('show');
    	})
	},
	hideclassDetailPanelTrial(context) {  //自定义触发mutations里函数的方法，context与store 实例具有相同方法和属性
        context.commit('hideTrial');
    },
    showclassDetailPanelTrial(context) {  //同上注释
    	
        context.commit('showTrial');
    },
    getClassInfoTrial(context,paras){
		let classinfo=paras;
    	api.getTrialClassStudentList(paras).then(function(data){
    		// console.log(data)
			if(data.result=='操作成功'){
				classinfo.studentlist=data.list;
				for(let i=0;i<classinfo.studentlist.length;i++){
					classinfo.studentlist[i].age=tool.minusDate(classinfo.studentlist[i].birthday);
				}
				context.commit('setClassInfoTrial',classinfo);
    			context.commit('showTrial');
			}
    	})
    }
};

module.exports = {
	  namespaced:true,//用于在全局引用此文件里的方法时标识这一个的文件名
	  state,
	  getters,
	  actions,
	  mutations
}